#include <bits/stdc++.h>
using namespace std;
using ll = long long;
int main(){
cin.tie(nullptr);
ios_base::sync_with_stdio(false);
ll N, M, mx=0, argmx=1;
cin >> N >> M;
vector<ll> cnt(M+1), A(N);
vector<ll> v(M+1);
for (int i=0; i<N; i++){
cin >> A[i];
if(A[i]>M) continue;
v[A[i]]++;
}
for (int x=1; x<=M; x++){
for (int i=x; i<=M; i+=x){
cnt[i] += v[x];
}
}
for (int i=1; i<=M; i++){
if (cnt[i] > mx){
mx = cnt[i];
argmx = i;
}
}
vector<int> ans;
for (int i=0; i<N; i++) if (argmx % A[i] == 0) ans.push_back(i+1);
assert(mx == (ll)ans.size());
cout << argmx << " " << mx << endl;
for (auto x : ans) cout << x << " ";
cout << endl;
return 0;
}
230A - Dragons | 200B - Drinks |
13A - Numbers | 129A - Cookies |
1367B - Even Array | 136A - Presents |
1450A - Avoid Trygub | 327A - Flipping Game |
411A - Password Check | 1520C - Not Adjacent Matrix |
1538B - Friends and Candies | 580A - Kefa and First Steps |
1038B - Non-Coprime Partition | 43A - Football |
50A - Domino piling | 479A - Expression |
1480A - Yet Another String Game | 1216C - White Sheet |
1648A - Weird Sum | 427A - Police Recruits |
535A - Tavas and Nafas | 581A - Vasya the Hipster |
1537B - Bad Boy | 1406B - Maximum Product |
507B - Amr and Pins | 379A - New Year Candles |
1154A - Restoring Three Numbers | 750A - New Year and Hurry |
705A - Hulk | 492B - Vanya and Lanterns |